/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fi.uba.algo3.tp3.vista.inanimados;

import ar.uba.fi.algo3.titiritero.SuperficieDeDibujo;
import ar.uba.fi.algo3.titiritero.vista.Cuadrado;
import fi.uba.algo3.tp3.modelo.servicios.ServicioJuego;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
import java.awt.font.LineMetrics;
import java.awt.geom.Rectangle2D;

/**
 *
 * @author ariel
 */
public class VistaTexto extends Cuadrado {

    // Initialized elsewhere
    private int alto;
    private int ancho;

    public VistaTexto(int ancho, int alto) {
        super(ancho, alto);
        setColor(Color.GREEN);
    }

    @Override
    public void dibujar(SuperficieDeDibujo superfice) {
        Graphics2D grafico = (Graphics2D) superfice.getBuffer();
        Font font = grafico.getFont();
        FontRenderContext frc = new FontRenderContext(null, false, false);
        Rectangle2D bounds=font.getStringBounds(String.valueOf(ServicioJuego.contadorPuntosJugador), frc);
        LineMetrics metrics = font.getLineMetrics(String.valueOf(ServicioJuego.contadorPuntosJugador), frc);
        float width = (float) bounds.getWidth();     // The width of our text
        float lineheight = metrics.getHeight();      // Total line height
        float ascent = metrics.getAscent();          // Top of text to baseline
        // Now display the message centered horizontally and vertically in box
        float x0 = (float) (this.getPosicionable().getX() + (ancho - width) / 2);
        float y0 = (float) (this.getPosicionable().getY() + (alto - lineheight) / 2 + ascent);
        grafico.setFont(font);
        grafico.setColor(Color.GREEN);
        grafico.drawString(String.valueOf(ServicioJuego.contadorPuntosJugador),x0,y0);
    }
}
